Provisioned Concurrency によって事前準備された環境が初期化される瞬間に Lambda 関数を実行した場合、コールドスタートは発生するのか教えてください

Provisioned Concurrency によって事前準備された環境が初期化される瞬間に Lambda 関数を実行した場合、コールドスタートは発生するのか教えてください

Clock Icon2024.12.12

この記事はアノテーション株式会社 AWS Technical Support Advent Calendar 2024 | Advent Calendar 2024 - Qiita 12 日目の記事です。

困っていた内容

前提として、Lambda 関数の実行環境は定期的に初期化(破棄・再作成)される認識です。
Provisioned Concurrency(プロビジョニングされた同時実行 )を設定している場合にも影響はあるのでしょうか。
例として、「Provisioned Concurrency によって事前準備された環境が初期化される瞬間に Lambda 関数を実行した場合」、いわゆるコールドスタートは発生するのか教えてください。

どう対応すればいいの?

Provisioned Concurrency は事前に準備された環境が常に用意されることが保証されています。
そのため、「Provisioned Concurrency によって事前準備された環境が初期化される瞬間に Lambda 関数を実行した場合」においても、コールドスタートは回避されるかと存じます。

Lambda 関数のスケーリングについて - AWS Lambda

プロビジョニングされた同時実行を使用するときも、Lambda は引き続き実行環境をバックグラウンドでリサイクルしますが、Lambda は常に、事前に初期化された環境の数が、関数のプロビジョニングされた同時実行設定の値と等しくなることを確実にします。この動作は、アイドル状態が続いた後で Lambda が環境を完全に終了する場合がある、予約された同時実行とは異なります。

参考資料

Lambda 関数のスケーリングについて - AWS Lambda
Operating Lambda: パフォーマンスの最適化 – Part 1 | Amazon Web Services ブログ
Provisioned Concurrencyで予約したLambda実行環境のライフサイクルを調べてみた #reinvent | DevelopersIO

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.